Electronic music can be stored in a computer as a sequence of events, such as note
on or note off instructions. Such a sequence can trigger synthesised or sampled
sounds of suitable pitch in a similar way to a piano roll in a player piano.
Sequence files are very small — just a few kilobytes can hold a lot of music. For example, Beethoven’s 29th Symphony in a QuickTime movie occupies only 68 K of disk space. A sequence can be played on the Mac itself via QuickTime or through external musical devices connected with the Musical Instrument Digital Interface (MIDI).
QuickTime Music
qqqqqqqqqqqqq
  It’s easy to play music on a Mac without external instruments. But first you must
put the QuickTime‚Ñ¢ and QuickTime‚Ñ¢ Musical Instruments files into the Extensions
folder in your System Folder and then restart the machine. You can then play
a QuickTime MIDI file with SimpleText, QuickMovie or any suitable application.
  These QuickTime applications can’t play a Standard MIDI File (SMF) but SMFs of
the General MIDI (GM) variety can be converted into a movie using All MIDI or a
similar application.
If you convert a SMF to a movie file, the sounds in the final file may have incorrect instrument numbering since some sequencers number them from 0 to 127 whilst others use 1 to 128! To rectify this, open the QuickTime file with QuickMovie — then select each track in turn and reselect the sound to the next on the list. You can now play the sequence with the correct instruments!
 
If you have a MIDI sequencer application you may want to listen to a sequence without having a stack of synthesisers and gadgets connected to your Mac!
  For this you can use QuickTime MIDI Player as a bridge between the MIDI
application and the QuickTime™ Musical Instruments file. To use it you’ll need to
install Apple MIDI Manager‚Ñ¢ and PatchBay (see below). Within the QuickTime
MIDI Player you can assign sounds to each MIDI channel in the MIDI file.
  You can also play GM SMFs on a Mac with QuickTime by using Arnold’s Midi Player.
See below for more about SMFs and GM.
The Musical Instrument Digital Interface
qqqqqqqqqqqqqqqqqqqqqqqqqqqqq
  The Musical Instrument Digital Interface (MIDI) provides communication between
sequencers, musical instruments and other devices via domestic connectors and
low cost equipment. You don’t need to understand any technical details to use it.
The main connections in a MIDI system are:-
• Between the master musical keyboard and the sequencer
• From the sequencer to instruments including synthesisers, samplers,
mixers and effects devices.
The sequencer can be a stand-alone device or a computer fitted with a MIDI interface and sequencing software. The sequencer records your performance on the musical keyboard — or you can edit a new sequence from scratch. What’s more, you can synchronise a sequence to the timecode generated from a video recording!
Voice Messages
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
Each Note On, Note Off or Voice Message is associated with one of sixteen MIDI channel numbers, each assigned to a particular sound or voice from the available musical devices. Any track created in a sequence can play any voice using the appropriate MIDI channel.
An instrument can be set up to respond in several ways:-
Monophonic Mode (Mono)
A single voice is triggered using one MIDI channel. No further sounds can play until this first note has ceased. This unusual and archaic mode is sometimes used by an analogue instrument controlled via a MIDI converter.
Omniphonic Mode (Omni)
A single voice is triggered by each MIDI channel. For polyphonic operation (where you can play more than one note at a time) this mode requires several channels — it’s best to use Poly mode for polyphony!
„ Nphony indicates how many sounds an instrument can play simultaneously —
exceeding this number causes voices to truncate, usually with first in, first out.
Polyphonic Mode (Poly)
This mode is widely used. Polyphonic sounds of the same voice are triggered using one MIDI channel. Any MIDI messages not intended for a particular voice are sent via the Basic Channel. This can default to channel 1 or can be selected using the instrument’s master controls. Some devices must be in Multi mode to use the Basic Channel.
Multiphonic Mode (Multi)
A variation of Poly mode used by a multi-timbral instrument — the sort that can play more than one voice at a time. Multiple polyphonic sounds are triggered using a specific MIDI channel for each voice.
„ All instruments should default to Poly in the Omni On mode — they should play
polyphonically from any channel. In reality most devices only accept data from
selected channels. In Omni Off mode a device only accepts data on its Basic Channel.
„ The Program Change message switches any device on a specified channel into a preset
mode — usually a particular sound or voice.
Timing Information
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
A number of messages are used for synchronising devices to a sequencer. Initially the sequencer sends a Song Select message to indicate which song it’s about to play. A Start message is then be sent to the sequencer to start it playing.
Once it’s running the sequencer sends regular Timing Clock messages at a rate of 96 clocks per whole note (semi-breve). By using these clocks to modify a Song Position Pointer register each device knows how far the sequence has progressed. To return to a particular point in a sequence the sequencer sends a Song Position Pointer message to all devices.
MIDI Timecode (MTC) messages are used for synchronisation to video — each message contains part of the timing information given in hours, minutes, seconds and frames.
Other Messages
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
Control information is generated from switches, foot pedals, or other controllers associated with a device. These instructions can be used to adjust other devices during a sequence. Since they work to 14-bit resolution they can stretch MIDI’s abilities! The transmitted data can be thinned, usually with no audible effect, or the receiving device can be programmed to do the job itself on receipt of a simple MIDI command.
System Exclusive messages are proprietary codes devised by manufacturers to control their own products or to edit relevant data. Although details for Sysex codes are supplied with the product, you’ll often encounter special software that obviates any need to understand them!
√π See the MIDI Messages chapter for details about messages
MIDI Hardware
qqqqqqqqqqq
To use MIDI your Mac must be fitted with a MIDI adaptor box — also confusingly known as a MIDI interface.
„ Adaptors designed for other computers aren’t suitable.
„ Before connecting any MIDI interface turn off your Mac.
Then connect it to either the printer or modem port — the modem port is preferable,
although some interfaces can use both!
Simple MIDI Interfaces
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
In a low-cost interface data travels in both directions between the MIDI sockets and the corresponding serial port (or ports) on the Mac. The outputs are usually duplicated so that you can feed several devices. The interface sends a reference clock of 500 kHz, 1 MHz or 2 MHz into the Mac which it divides down to generate the MIDI bit rate.
 
Intelligent MIDI Interfaces
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
A typical intelligent interface provide 15 MIDI input and outputs or more. Data from each MIDI circuit is multiplexed and sent via the serial port (or ports) at an accelerated rate. The data is wrapped within extra codes that identify its MIDI circuit.
An intelligent interface is essential for driving a number of multi-timbral instruments. Some of these can play up to 16 sounds simultaneously — using the capacity of an entire MIDI circuit.
„ An intelligent interface won’t work without the correct Mac software!
 
Here’s a the contents of a window used to set up an intelligent interface:-
 
 
MIDI Protocol
qqqqqqqqqq
  MIDI driver software determines the protocol to be used between a MIDI
application and the MIDI interface itself.
Standard MIDI
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
This driver is contained within each application. When you unexpectedly quit a Standard MIDI application or switch between applications the effect on the interface is unpredictable. It only works with simple MIDI interfaces.
The dialog shown below sets up the interface within each application:-
 
MIDI Manager
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
Apple’s MIDI Manager™ retains control of MIDI at all times, whatever program is active. It must be installed if you want to use a MIDI application that supports it — even if a MIDI interface isn’t connected! It only works with simple MIDI interfaces.
MIDI Manager should be accompanied by PatchBay, an essential application for directing MIDI data between serial ports and other MIDI applications.
Open MIDI System
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
The Open MIDI System (OMS), originally called the Opcode Midi System, is intended for intelligent interfaces. Applications designed for OMS are compatible with Midi Manager but operate independently of it.
However, PatchBay can ‘plug’ OMS data into Midi Manager as shown in the example below. The top dialog provided by the OMS MIDI Manager (just double-click on it’s icon in PatchBay) and the lower is in PatchBay itself.
 
 
In this example only two connections have been made:-
• Timecode from the interface to the StudioVision sequencer application:
In OMS MIDI Manager, timecode, shown by the little clock, is directed from the
Studio 5 interface (called ‘2 cables’ since it’s using both modem and printer ports) into
PatchBay where it’s sent onwards to StudioVision.
• Instructions from a MIDI Manager application called QuickPatch to an
output on the interface controlling an audio switching matrix.
In PatchBay the output of the QuickPatch is directed into the OMS MIDI Manager
where it’s directed to the port designated as ‘Router’.
In the example shown above OMS MIDI Manager has been set to receive timecode at 25 frames per second. Filter Timecode is on so as to segregate timecode from other data.
Using MIDI
qqqqqqqq
MIDI Software
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
To use MIDI Manager you should install the following files and then restart your Mac.
  MIDI Manager™ goes in the Extensions folder in the System Folder.
You should install the OMS version if you need it!
  The Apple MIDI Driver should be ‘loose’ in the System Folder. It’s required for the
Apple MIDI Interface — other interfaces may use alternative drivers. Anti-virus
applications or screen savers may interfere with its operation.
  The PatchBay application can go anywhere — to reach it via the  menu put it in
Apple Menu Items folder in the System Folder. You can use it to create MIDI paths
between Mac ports and applications by drawing lines in its window.
  PatchBay Help should be ‘loose’ in the System Folder. It provides information for
About PatchBay in the Ô£ø menu, but only when PatchBay is active.
To use an application that uses MIDI Manager you should:-
• Open PatchBay from the  menu.
• In PatchBay link the Time, MIDI in and MIDI out ports on your MIDI
application icon to the appropriate ports on the Apple MIDI Driver icon.
If no external MIDI synthesiser is connected just connect the Time ports.
• Use the SquidCakes utility if you want to monitor the MIDI data on any
path within PatchBay.
„ You may have to disable AppleTalk when using MIDI — although you should be able
to use it via any network that avoids the printer port.
MIDI Connections
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
The output of the master keyboard should be connected to the interface’s input. Instruments, effects devices, or MIDI-controlled audio mixers are connected to its outputs.
You can daisy-chain an output to three devices using the Thru sockets — if your interface has 3 outputs that lets you use 9 devices! If that’s not enough you can use a MIDI Thru box.
If you want to edit data within a device you must connect its inputs and outputs to the interface. If this conflicts with your keyboard connection you can use a switch box — or better still, a MIDI merger.
 
The Master Keyboard
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
If you want to use your master keyboard as a synthesiser you must turn Local Control off. Any notes you play will go to its MIDI output but not to its sound generators — but any data arriving at its MIDI input will produce sounds.
Whilst recording a sequence you’ll need to hear it! Unfortunately the master keyboard is invariably on a different MIDI channel to the instrument. Most sequencers solve this by replacing the channel number from the keyboard by that of the instrument — a process known as Auto-channelising or Echo. If you’re using the keyboard as a synthesiser the sequencer must echo the data back to the keyboard via its own MIDI channel.
Most sequencing applications let you record and echo to any channel, irrespective of the keyboard’s channel. If all synthesisers are in Omni off mode and use unique voice channels, you can select and play any sound from the keyboard by selecting the appropriate echo channel.
Channel Numbers
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
To use MIDI you must assign a MIDI channel number to each voice or sound. Several voices may be provided in one instrument or there may be only one in each device. Here’s an example of channel assignments:-
MIDI Channel Instrument
1 Piano
2 Bass
3 Brass or Sax
4 Guitar or Clavinet
5 Ensemble String
6 Human Voice
7 Woodwind
8 Organ
10 Drums
Many drum machines use only one MIDI channel for all sounds — very useful when you’re short of MIDI channels! Each sound in the drum machine is assigned to a different note.
Here’s an example of note assignment:-
Note Drum Sound
36 (C) Bass Drum
38 Snare
40 Rim Shot
41 Lo Tom
43 Mid Tom
45 Hi Tom
42 Closed High-Hat
44 Half-closed High-Hat
46 Open High-Hat
51 Ride Cymbal
54 Crash Cymbal
General MIDI
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
The Program Change message contains a program number that sets an instrument to a particular voice or sound.
  General MIDI (GM), also known as GS MIDI, is a variation of MIDI devised by
Roland. It features standardised program numbers for specific sounds or
instrument voices. Any GM instrument can play a GM sequence immediately
without you having to worry about all those numbers!
The following list shows the GM program number and instruments:-
MIDI No. User No. Instrument
Piano
0 1 Acoustic Grand Piano
1 2 Bright Acoustic Piano
2 3 Electric grand Piano
3 4 Honky Tonk Piano
4 5 Electric Piano 1
5 6 Electric Piano 2
6 7 Harpsichord
7 8 Clavichord
Chromatic Percussion
8 9 Celesta
9 10 Glockenspiel
10 11 Music Box
11 12 Vibraphone
12 13 Marimba
13 14 Xylophone
14 15 Tubular Bells
15 16 Dulcimer
Organ
16 17 Drawbar Organ
17 18 Percussive Organ
18 19 Rock Organ
19 20 Church Organ
20 21 Reed Organ
21 22 Accordion
22 23 Harmonica
23 24 Tango Accordion
Guitar
24 25 Acoustic Nylon Guitar
25 26 Acoustic Steel Guitar
26 27 Electric Jazz Guitar
27 28 Electric Clean Guitar
28 29 Electric Muted Guitar
29 30 Overdriven Guitar
30 31 Distortion Guitar
31 32 Guitar Harmonics
Bass
32 33 Acoustic Bass
33 34 Electric Fingered Bass
34 35 Electric Picked Bass
35 36 Fretless Bass
36 37 Slap Bass 1
37 38 Slap Bass 2
38 39 Synth Bass 1
39 40 Synth Bass 2
Strings
40 41 Violin
41 42 Viola
42 43 Cello
43 44 Contrabass
44 45 Tremolo Strings
45 46 Pizzicato Strings
46 47 Orchestral Harp
47 48 Timpani
Ensemble
48 49 String Ensemble
49 50 Slow Strings
50 51 Synth Strings 1
51 52 Synth Strings 2
52 53 Choir Aahs
53 54 Voice Oohs
54 55 Synth Voice
55 56 Orchestral Hit
Brass
56 57 Trumpet
57 58 Trombone
58 59 Tuba
59 60 Muted Trumpet
60 61 French Horn
61 62 Brass Section
62 63 Synth Brass 1
63 64 Synth Brass 2
Reed
64 65 Soprano Sax
65 66 Alto Sax
66 67 Tenor Sax
67 68 Baritone Sax
68 69 Oboe
69 70 English Horns
70 71 Bassoon
71 72 Clarinet
Pipe
72 73 Piccolo
73 74 Flute
74 75 Recorder
75 76 Pan Flute
76 77 Bottle Blow
77 78 Shakuhachi
78 79 Whistle
79 80 Ocarina
Synth Lead
80 81 Square Wave
81 82 Sawtooth Wave
82 83 Calliope
83 84 Chiff
84 85 Charang
85 86 Voice
86 87 Fifths
87 88 Bass & Lead
Synth Pad
88 89 New Age (Fantasia)
89 90 Warm Pad
90 91 Polysynth
91 92 Choir (Space Voice)
92 93 Bowed (Bowed Glass)
93 94 Metallic Pad
94 95 Halo Pad
95 96 Sweep Pad
Synth Effects
96 97 Rain (Ice Rain)
97 98 Soundtrack
98 99 Crystal
99 100 Atmosphere
100 101 Brightness
101 102 Goblins
102 103 Echoes (Echo Drops)
103 104 Sci-fi (Star Theme)
Ethnic
104 105 Sitar
105 106 Banjo
106 107 Shamisen
107 108 Koto
108 109 Kalimba
109 110 Bagpipes
110 111 Fiddle
111 112 Shanai
Percussive
112 113 Tinkle Bell
113 114 Agogo
114 115 Steel Drums
115 116 Wood Block
116 117 Taiko Drum
117 118 Melodic Drum (Melodic Tom)
118 119 Synth Drum
119 120 Reverse Cymbal
Sound Effects
120 121 Guitar Fret Noise
121 122 Breath Noise
122 123 Seashore
123 124 Bird Tweet
124 125 Telephone Ring
125 126 Helicopter
126 127 Applause
127 128 Gun Shot
Standard MIDI Files
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
A Standard MIDI File (SMF or MFF) contains only the basic information for reproducing a sequence. Many applications can import or export SMFs, but some may not accept all types of SMF. The contents of an SMF may (or may not) conform to General MIDI.
A Type 0 SMF puts all the tracks from your sequencer into a single track. This means that muted tracks aren’t saved — useful for creating different versions without unwanted tracks. Most MIDI applications should support this file type if nothing else!
„ A file saved in this format can be difficult to edit afterwards!
A Type 1 SMF stores each track independently — with any combination of MIDI channels in each track. When you reopen a saved file it runs exactly as before. Most modern applications accept this format.
Some applications can save a Type 1 file by unmerging — this process assigns notes on channel 1 to track 1, channel 2 to track 2, and so on. You can use this to combine a number of tracks with the same MIDI channel into a single track — for example eight tracks of guitar on channel 5 can be combined into track 5. But it’ll be hard to edit later!
SMFs can also contain tempo, time signature, text events, copyright notices, a sequence or track name, instrument names and other song data. Not all sequencer applications can read all of this material — if yours doesn’t you can use a disk utility to search inside the file!
All SMFs have a file Type of Midi. An SMF created with another application won’t open automatically by double-clicking unless you change its Creator code to match your preferred application.
√π See the Sound chapter for details about MOD files
Timecode
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
Many MIDI devices and sequencers can be synchronised to timecode. Timecode indicates the time of day of an original recording or the programme duration in hours, minutes, seconds and picture frames (h, m, s and f). The codes in the timecode are defined by the SMPTE but the number of frames per second varies with the television standard.
√π See the Movies chapter for more about television standards
Setting a starting point of 00h 00m 00s 00f may upset some sequencers. If this happens try a non-zero starting point, such as 10h 00m 00s 00f. Timecode recorded as time of day (rather than programme duration) usually begins with a non-zero value!
Timecode may include User Bits that convey extra data in the timecode — for example a portion of ASCII text describing the picture content. User Bits aren’t standardised!
Timecode comes in several forms, each suited to a particular purpose:-
MIDI timecode (MTC)
The the most common timing reference for sequencer programs. A MIDI Full Frame message is sent when the source of timecode starts, stops or ‘drops out’. Quarter Frame messages are sent during continuous timecode.
„ Only the Full Frame message is a System Exclusive message — remember this when
using software or devices that filter MIDI data!
Direct Time Lock (DTL) or Direct Time Lock enhanced (DTLe)
A simple and highly reliable alternative to MTC using purely System Exclusive data. It sends full time data only at the start of a run of timecode — this is followed by up clocks or down clocks as the timecode progresses. Mark of the Unicorn software uses this system.
Longitudinal Timecode (LTC)
This is an audio signal that contains timecode using modified bi-phase encoding. It can be recorded onto one track of a conventional tape machine, onto the linear tracks of a U-matic video recorder or onto the Hi-Fi tracks of a VHS machine.
„ Some MIDI interfaces can convert LTC into MTC and insert it into a MIDI data stream.
„ The linear tracks of a VHS recorder (or the standard tracks of a compact cassette
machine) use substantial pre-emphasis making them unreliable for LTC.
„ Timecode disappears at low tape speeds or when a tape machine is in pause or
stop-frame mode. Most tape machines must be modified to read timecode whilst
spooling the tape.
„ LTC User Bits can be converted into MTC User Bits using suitable MIDI interface.
Insertion of User Bits into an LTC signal usually requires specialised equipment.
Vertical Interval Timecode (VITC)
A form of timecode that’s contained in the video signal carrying the associated pictures — it’s automatically recorded with the picture on a video recorder. A good quality video machine is essential — a European VHS machine may give problems!
A VITC reader is required to extract timecode from the video signal — most provide an LTC output.
„ The timecode produced during pause or stop-frame can upset some equipment.
„ Timecode is available at all times — except at very high spooling speeds or when the
tape’s disengaged from the heads!
„ Timecode must be continuously ascending — any discontinuities will upset a sequencer!
„ VITC is contained in pairs of lines within the video signal. Always ensure that the
reader only extracts data from the correct lines!
„ Two sets of VITC lines can exist on one recording. The first contains the time of day of
the original recording — it may be discontinuous due to subsequent editing. The
second contains the programme duration — this should be continuous!
AES/EBU Digital Interface
This digital audio format has the capacity to carry timecode within its data stream. Some professional Digital Audio Tape (DAT) machines can also record timecode — although they invariably use LTC for external connections.